package com.hooper.solution.day7;

/**
 * @author Tim Hooper
 * @version 1.0
 * @time 2023/02/04/23:31
 */
public class Solutions {
    /**
     * 剑指 Offer 50. 第一个只出现一次的字符
     * 在字符串 s 中找出第一个只出现一次的字符。如果没有，返回一个单空格。 s 只包含小写字母。
     * <p>
     * 示例 1:
     * <p>
     * 输入：s = "abaccdeff"
     * 输出：'b'
     * 示例 2:
     * <p>
     * 输入：s = ""
     * 输出：' '
     */
    public char firstUniqChar(String s) {
        int[] ans = new int[26];
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            ++ans[c - 'a'];
        }
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (ans[c - 'a'] == 1)
                return c;
        }
        return ' ';
    }

}
